package com.augurit.gzcgwsp.excelimportexport.service.impl;

import java.util.Date;
import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.util.Region;
import org.dozer.DozerBeanMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.augurit.gzcgwsp.excelimportexport.dao.YwRqQyjyxkPzrqgyzdjbDao;
import com.augurit.gzcgwsp.excelimportexport.dao.YwRqQyjyxkRypbqkDao;
import com.augurit.gzcgwsp.excelimportexport.entity.YwRqQyjyxkPzrqgyzdjb;
import com.augurit.gzcgwsp.excelimportexport.entity.YwRqQyjyxkRypbqk;
import com.augurit.gzcgwsp.excelimportexport.service.IYwRqQyjyxkPzrqgyzdjbService;
import com.augurit.gzcgwsp.excelimportexport.service.IYwRqQyjyxkRqssylbService;
import com.augurit.gzcgwsp.rqqyjyxk.entity.YwRqQyjyxk;
import com.augurit.gzcgwsp.rqqyjyxk.entity.YwRqQyjyxkFinalPzrqgyzdjb;
import com.augurit.gzcgwsp.rqqyjyxk.entity.YwRqQyjyxkFinalRypbqk;
import com.augurit.gzcgwsp.rqqyjyxk.service.IYwRqQyjyxkFinalPzrqgyzdjbService;
import com.augurit.gzcgwsp.rqqyjyxk.service.IYwRqQyjyxkFinalRypbqkService;
import com.augurit.gzcgwsp.ssylb.entity.YwRqRqssylb;
import com.augurit.gzcgwsp.ywcmn.service.IYwComQyxxService;

/**
 * 广州市燃气经营许可证许可审批------七、瓶装燃气供应站登记表
 * @author xgw
 *
 */
@Service
@Transactional
public class YwRqQyjyxkPzrqgyzdjbServiceImpl implements IYwRqQyjyxkPzrqgyzdjbService {
	@Autowired
	private YwRqQyjyxkPzrqgyzdjbDao ywRqQyjyxkPzrqgyzdjbDao;
	@Autowired
    private  IYwRqQyjyxkFinalPzrqgyzdjbService pzrqgyService;
    @Autowired
    private YwRqQyjyxkRypbqkDao ywRqQyjyxkRypbqkDao;
    @Autowired
    private IYwRqQyjyxkFinalRypbqkService rypbqkService;
	@Autowired
 	private IYwRqQyjyxkRqssylbService ywRqQyjyxkRqssylbService;
	@Autowired
 	private IYwComQyxxService ywComQyxxService;
	/**
	 * 保存 瓶装燃气供应站登记表
	 * @param ywRqQyjyxkPzrqgyzdjb
	 */
	public void save(YwRqQyjyxkPzrqgyzdjb ywRqQyjyxkPzrqgyzdjb) {
		ywRqQyjyxkPzrqgyzdjbDao.save(ywRqQyjyxkPzrqgyzdjb);
	}

	/**
	 * 解析 瓶装燃气供应站登记表
	 * @param hssfsheet
	 * @param acceptNo
	 * @param qyid
	 * @param username
	 * @return
	 */
	public void parsePzrqgyzdjb(HSSFSheet hssfsheet, String acceptNo,Long qyid, String username,
			Date dateFlag,String flag,String contextpath,Long rqjyxkid) {
		
		String gyzmc = null;//供应站名称
		String gyzdz = null;//供应站地址
		String zyfzr = null;//主要负责人
		String aqfzr = null;//安全负责人
		String lxdh = null;//联系电话
		String cz = null;//传  真
		String yyzzzch = null;//营业执照注册号
		String xfyswh = null;//消防验收文号
		String gyzdj = null;//供应站等级
		String zdmj = null;//占地面积
		String cscqr = null;//场所产权人
		String zlhtbah = null;//租赁合同备案号
		
		String hql = "from YwRqQyjyxkPzrqgyzdjb t where t.qyid = "+qyid+" and t.flag="+flag+"";
		List<YwRqQyjyxkPzrqgyzdjb> list=ywRqQyjyxkPzrqgyzdjbDao.find(hql);
		for(int i=0;i<list.size();i++)
		{
			ywRqQyjyxkPzrqgyzdjbDao.delete(list.get(i));
		}
		
		YwRqQyjyxkPzrqgyzdjb ywRqQyjyxkPzrqgyzdjb = new YwRqQyjyxkPzrqgyzdjb();
 		try { 			
 			HSSFRow hssfrow = hssfsheet.getRow(2);// 第一行
// 				System.out.println("总行数++++++++" + hssfsheet.getPhysicalNumberOfRows());
 				// 遍历该行所有的行,j表示行数 getPhysicalNumberOfRows行的总数
 				for (int j = 2; j < hssfsheet.getPhysicalNumberOfRows(); j++) {
 					hssfrow = hssfsheet.getRow(j);
 					// 判断是否还存在需要导入的数据
 					if (hssfrow == null) {
 						//System.out.println("这里已没有数据，在第" + i + "列,第" + j + "行");
 						break;
 					}
 					if (j == 2) {//第一行
 						if (hssfrow.getCell((short) 2) == null) {//供应站名称
 							gyzmc = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							gyzmc = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							gyzmc = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						}
 					} 					
 					if (j == 3) {//第二行
 						if (hssfrow.getCell((short) 2) == null) {//供应站地址
 							gyzdz = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							gyzdz = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							gyzdz = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						}
 					} 					
 					if (j == 4) {//第三行
 						if (hssfrow.getCell((short) 2) == null) {//主要负责人
 							zyfzr = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							zyfzr = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							zyfzr = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						}
 						if (hssfrow.getCell((short) 5) == null) {//安全负责人
 							aqfzr = "";
 						} else if (hssfrow.getCell((short) 5).getCellType() == 0) {
 							aqfzr = new Double(hssfrow.getCell((short) 5).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							aqfzr = hssfrow.getCell((short) 5).getStringCellValue().trim();
 						}
 					}
 					if (j == 5) {//第4行
 						if (hssfrow.getCell((short) 2) == null) {//联系电话
 							lxdh = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							lxdh = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							lxdh = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						}
 						if (hssfrow.getCell((short) 5) == null) {//传  真
 							cz = "";
 						} else if (hssfrow.getCell((short) 5).getCellType() == 0) {
 							cz = new Double(hssfrow.getCell((short) 5).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							cz = hssfrow.getCell((short) 5).getStringCellValue().trim();
 						}
 					}
 					if (j == 6) {//第5行
 						if (hssfrow.getCell((short) 2) == null) {//营业执照注册号
 							yyzzzch = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							yyzzzch = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							yyzzzch = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						}
 						if (hssfrow.getCell((short) 5) == null) {//消防验收文号
 							xfyswh = "";
 						} else if (hssfrow.getCell((short) 5).getCellType() == 0) {
 							xfyswh = new Double(hssfrow.getCell((short) 5).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							xfyswh = hssfrow.getCell((short) 5).getStringCellValue().trim();
 						}
 					}
 					if (j == 7) {//第6行
 						if (hssfrow.getCell((short) 2) == null) {//供应站等级
 							gyzdj = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							gyzdj = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							gyzdj = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						}
 						if (hssfrow.getCell((short) 5) == null) {//占地面积
 							zdmj = "";
 						} else if (hssfrow.getCell((short) 5).getCellType() == 0) {
 							zdmj = new Double(hssfrow.getCell((short) 5).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							zdmj = hssfrow.getCell((short) 5).getStringCellValue().trim();
 						}
 					}
 					if (j == 8) {//第7行
 						if (hssfrow.getCell((short) 2) == null) {//场所产权人
 							cscqr = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							cscqr = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							cscqr = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						}
 						if (hssfrow.getCell((short) 5) == null) {//租赁合同备案号
 							zlhtbah = "";
 						} else if (hssfrow.getCell((short) 5).getCellType() == 0) {
 							zlhtbah = new Double(hssfrow.getCell((short) 5).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							zlhtbah = hssfrow.getCell((short) 5).getStringCellValue().trim();
 						}
 					}
 				}
 				if(StringUtils.isNotBlank(gyzmc)){
     				ywRqQyjyxkPzrqgyzdjb.setQyid(qyid);
     				ywRqQyjyxkPzrqgyzdjb.setAcceptNo(acceptNo);
     				ywRqQyjyxkPzrqgyzdjb.setUserName(username);
     				ywRqQyjyxkPzrqgyzdjb.setUploadDate(new Date());
     				ywRqQyjyxkPzrqgyzdjb.setGyzmc(gyzmc);
     				ywRqQyjyxkPzrqgyzdjb.setGyzdz(gyzdz);
     				ywRqQyjyxkPzrqgyzdjb.setZyfzr(zyfzr);
     				ywRqQyjyxkPzrqgyzdjb.setAqfzr(aqfzr);
     				ywRqQyjyxkPzrqgyzdjb.setLxdh(lxdh);
     				ywRqQyjyxkPzrqgyzdjb.setCz(cz);
     				ywRqQyjyxkPzrqgyzdjb.setYyzzzch(yyzzzch);
     				ywRqQyjyxkPzrqgyzdjb.setXfyswh(xfyswh);
     				ywRqQyjyxkPzrqgyzdjb.setGyzdj(gyzdj);
     				ywRqQyjyxkPzrqgyzdjb.setZdmj(zdmj);
     				ywRqQyjyxkPzrqgyzdjb.setCscqr(cscqr);
     				ywRqQyjyxkPzrqgyzdjb.setZlhtbah(zlhtbah);
     				ywRqQyjyxkPzrqgyzdjb.setDateFlag(dateFlag);
     				ywRqQyjyxkPzrqgyzdjb.setFlag(flag);
     				Long id=ywRqQyjyxkPzrqgyzdjbDao.saveEntity(ywRqQyjyxkPzrqgyzdjb); 
     				if(id!=null){
     					//将信息导入到设施一览表中
 						List<YwRqRqssylb> ssylbs=ywRqQyjyxkRqssylbService.getSsylbByName(rqjyxkid,gyzmc.trim());
 						if(ssylbs!=null && ssylbs.size()>0){
 							YwRqRqssylb sslyb=ssylbs.get(0);
 							sslyb.setFzr(zyfzr);
 							//sslyb.setTotalVol(cgzrj);//总容积
 							//sslyb.setSingleVol(dgzdrj);//单罐容积
 	 						//设置设施考核 汽车加气站许可登记考核表(地面三级)
 	 						sslyb.setSskh("3");
 							sslyb.setZdlb("合格");
 							if(ywComQyxxService.get(qyid)!=null){
 								String sqdw=ywComQyxxService.get(qyid).getSqdw();
 								//生成考核表
 	 						    String filepath=ywRqQyjyxkRqssylbService.createFilePathByContent(contextpath, sqdw,sslyb);
 	 						    if(StringUtils.isNotBlank(filepath)){
 	 				            	sslyb.setFilepath(filepath);
 	 				            }
 	 						    this.ywRqQyjyxkRqssylbService.saveEntity(sslyb);
 							}
 						}
     				    this.importRypbqk(hssfsheet, acceptNo, qyid, username, dateFlag, flag, id);
     				    
     				}
 			}
 		}catch(Exception e){
 			e.printStackTrace();
 		}
	}

	
	/**
     * 解析 七、1 人员配备情况
     * @param hssfsheet
     * @param acceptNo
     * @param qyid
     * @return
     */
    public YwRqQyjyxkRypbqk importRypbqk(HSSFSheet hssfsheet, String acceptNo,Long qyid, String username,Date dateFlag,String flag,Long id) {
        String xm = null;//姓名
        String nl = null;//年龄
        String gw = null;//岗位
        String gwjnzsjbh = null;//岗位技能证书及编号
        String fzjg = null;//发证机关
        try {           
            HSSFRow hssfrow = hssfsheet.getRow(0);// 第一行
            // 遍历该行所有的行,j表示行数 getPhysicalNumberOfRows行的总数
            for (int i = 10; i < hssfsheet.getPhysicalNumberOfRows(); i++) {
                hssfrow = hssfsheet.getRow(i);
                // 判断是否还存在需要导入的数据
                if (hssfrow == null) {
                    // System.out.println("这里已没有数据，在第" + i + "列,第" + j + "行");
                    break;
                }               
                if (hssfrow.getCell((short) 1) == null) {
                    xm = "";
                } else if (hssfrow.getCell((short) 1).getCellType() == 0) {
                    xm = new Double(hssfrow.getCell((short) 1).getNumericCellValue()).toString();
                } else {// 如果EXCEL表格中的数据类型为字符串型
                    xm = hssfrow.getCell((short) 1).getStringCellValue().trim();
                }
                if (hssfrow.getCell((short) 2) == null) {
                nl = "";
                } else if (hssfrow.getCell((short) 2).getCellType() == 0) {
                    nl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
                } else {// 如果EXCEL表格中的数据类型为字符串型
                    nl = hssfrow.getCell((short) 2).getStringCellValue().trim();
                }
                if (hssfrow.getCell((short) 3) == null) {
                    gw = "";
                } else if (hssfrow.getCell((short) 3).getCellType() == 0) {
                    gw = new Double(hssfrow.getCell((short) 3).getNumericCellValue()).toString();
                } else {// 如果EXCEL表格中的数据类型为字符串型
                    gw = hssfrow.getCell((short) 3).getStringCellValue().trim();
                }
                if (hssfrow.getCell((short) 4) == null) {
                    gwjnzsjbh = "";
                } else if (hssfrow.getCell((short) 4).getCellType() == 0) {
                    gwjnzsjbh = new Double(hssfrow.getCell((short) 4).getNumericCellValue()).toString();
                } else {// 如果EXCEL表格中的数据类型为字符串型
                    gwjnzsjbh = hssfrow.getCell((short) 4).getStringCellValue().trim();
                }
                if (hssfrow.getCell((short) 5) == null) {
                    fzjg = "";
                } else if (hssfrow.getCell((short) 5).getCellType() == 0) {
                    fzjg = new Double(hssfrow.getCell((short) 5).getNumericCellValue()).toString();
                } else {// 如果EXCEL表格中的数据类型为字符串型
                    fzjg = hssfrow.getCell((short) 5).getStringCellValue().trim();
                }                   
                if(StringUtils.isEmpty(xm)){
                    break;
                }else{
                    YwRqQyjyxkRypbqk ywRqQyjyxkRypbqk = new YwRqQyjyxkRypbqk();
                    ywRqQyjyxkRypbqk.setQyid(qyid);
                    ywRqQyjyxkRypbqk.setAcceptNo(acceptNo);
                    ywRqQyjyxkRypbqk.setUserName(username);
                    ywRqQyjyxkRypbqk.setUploadDate(new Date());
                    ywRqQyjyxkRypbqk.setXm(xm);
                    ywRqQyjyxkRypbqk.setNl(nl);
                    ywRqQyjyxkRypbqk.setGw(gw);
                    ywRqQyjyxkRypbqk.setGwjnzsjbh(gwjnzsjbh);
                    ywRqQyjyxkRypbqk.setFzjg(fzjg);
                    ywRqQyjyxkRypbqk.setDateFlag(dateFlag);
                    ywRqQyjyxkRypbqk.setGyzid(id);
                    ywRqQyjyxkRypbqkDao.save(ywRqQyjyxkRypbqk);
                }                   
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

	
	
	
	
	
	/**
     * 导出 瓶装燃气供应站登记表
     * @param hssfsheet
     * @param acceptNo
     * @param qyid
     * @return
     */
    public HSSFSheet expPzrqgyzdjb(HSSFSheet hssfsheet,YwRqQyjyxkFinalPzrqgyzdjb finalEntity, YwRqQyjyxkPzrqgyzdjb entity,HSSFCellStyle cs,String exptype){
       if("qyxx".equals(exptype)){
    	   if( finalEntity!=null)
           {
       	try {
              // if(entity == null) return null;
               HSSFRow hssfrow = hssfsheet.getRow(0);// 第一行            
               // 遍历该行所有的行,j表示行数 getPhysicalNumberOfRows行的总数
               for (int j = 2; j < hssfsheet.getPhysicalNumberOfRows(); j++) {
                   hssfrow = hssfsheet.getRow(j);
                   // 判断是否还存在需要导入的数据
                   if (hssfrow == null) {
                       break;
                   }
                   if(j == 2){
                       hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)5)); // 四个参数分别是：起始行，起始列，结束行，结束列 
                       HSSFCell cell1=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格  // 四个参数分别是：起始行，起始列，结束行，结束列 
                       cell1.setCellValue( finalEntity.getGyzmc()==null?"": finalEntity.getGyzmc());   //设置单元格内容  
                       cell1.setCellStyle(cs); 
                   }
                   if(j == 3){
                       HSSFCell cell2=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格   
                       cell2.setCellValue( finalEntity.getGyzdz()==null?"": finalEntity.getGyzdz());   //设置单元格内容  
                       cell2.setCellStyle(cs); 
                   }
                   if(j == 4){
                       HSSFCell cell2=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格   
                       cell2.setCellValue( finalEntity.getZyfzr()==null?"": finalEntity.getZyfzr());   //设置单元格内容  
                       cell2.setCellStyle(cs); 
                       
                       HSSFCell cell5=hssfrow.createCell((short)5);   //创建一个单元格  HSSFCell类表示单元格   
                       cell5.setCellValue( finalEntity.getAqfzr()==null?"": finalEntity.getAqfzr());   //设置单元格内容  
                       cell5.setCellStyle(cs); 
                   }
                   if(j == 5){
                       HSSFCell cell2=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格   
                       cell2.setCellValue( finalEntity.getLxdh()==null?"": finalEntity.getLxdh());   //设置单元格内容
                       cell2.setCellStyle(cs); 
                       
                       HSSFCell cell5=hssfrow.createCell((short)5);   //创建一个单元格  HSSFCell类表示单元格   
                       cell5.setCellValue( finalEntity.getCz()==null?"": finalEntity.getCz());   //设置单元格内容  
                       cell5.setCellStyle(cs); 
                   }
                   if(j == 6){
                       HSSFCell cell2=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格   
                       cell2.setCellValue( finalEntity.getYyzzzch()==null?"": finalEntity.getYyzzzch());   //设置单元格内容  
                       cell2.setCellStyle(cs); 
                       
                       HSSFCell cell5=hssfrow.createCell((short)5);   //创建一个单元格  HSSFCell类表示单元格   
                       cell5.setCellValue( finalEntity.getXfyswh()==null?"": finalEntity.getXfyswh());   //设置单元格内容 
                       cell5.setCellStyle(cs); 
                   }
                   if(j == 7){
                       HSSFCell cell2=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格   
                       cell2.setCellValue( finalEntity.getGyzdj()==null?"": finalEntity.getGyzdj());   //设置单元格内容 
                       cell2.setCellStyle(cs); 
                       
                       HSSFCell cell5=hssfrow.createCell((short)5);   //创建一个单元格  HSSFCell类表示单元格   
                       cell5.setCellValue( finalEntity.getZdmj()==null?"": finalEntity.getZdmj());   //设置单元格内容  
                       cell5.setCellStyle(cs); 
                   }
                   if(j == 8){
                       HSSFCell cell2=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格   
                       cell2.setCellValue( finalEntity.getCscqr()==null?"": finalEntity.getCscqr());   //设置单元格内容  
                       cell2.setCellStyle(cs); 
                       
                       HSSFCell cell5=hssfrow.createCell((short)5);   //创建一个单元格  HSSFCell类表示单元格   
                       cell5.setCellValue( finalEntity.getZlhtbah()==null?"": finalEntity.getZlhtbah());   //设置单元格内容 
                       cell5.setCellStyle(cs); 
                   }
               }
           } catch (Exception e) {
               e.printStackTrace();
           }
           }
       }else{
    	   if(entity!=null)
           {
       	try {
              // if(entity == null) return null;
               HSSFRow hssfrow = hssfsheet.getRow(0);// 第一行            
               // 遍历该行所有的行,j表示行数 getPhysicalNumberOfRows行的总数
               for (int j = 2; j < hssfsheet.getPhysicalNumberOfRows(); j++) {
                   hssfrow = hssfsheet.getRow(j);
                   // 判断是否还存在需要导入的数据
                   if (hssfrow == null) {
                       break;
                   }
                   if(j == 2){
                       hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)5)); // 四个参数分别是：起始行，起始列，结束行，结束列 
                       HSSFCell cell1=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格  // 四个参数分别是：起始行，起始列，结束行，结束列 
                       cell1.setCellValue(entity.getGyzmc()==null?"":entity.getGyzmc());   //设置单元格内容  
                       cell1.setCellStyle(cs); 
                   }
                   if(j == 3){
                       HSSFCell cell2=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格   
                       cell2.setCellValue(entity.getGyzdz()==null?"":entity.getGyzdz());   //设置单元格内容  
                       cell2.setCellStyle(cs); 
                   }
                   if(j == 4){
                       HSSFCell cell2=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格   
                       cell2.setCellValue(entity.getZyfzr()==null?"":entity.getZyfzr());   //设置单元格内容  
                       cell2.setCellStyle(cs); 
                       
                       HSSFCell cell5=hssfrow.createCell((short)5);   //创建一个单元格  HSSFCell类表示单元格   
                       cell5.setCellValue(entity.getAqfzr()==null?"":entity.getAqfzr());   //设置单元格内容  
                       cell5.setCellStyle(cs); 
                   }
                   if(j == 5){
                       HSSFCell cell2=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格   
                       cell2.setCellValue(entity.getLxdh()==null?"":entity.getLxdh());   //设置单元格内容
                       cell2.setCellStyle(cs); 
                       
                       HSSFCell cell5=hssfrow.createCell((short)5);   //创建一个单元格  HSSFCell类表示单元格   
                       cell5.setCellValue(entity.getCz()==null?"":entity.getCz());   //设置单元格内容  
                       cell5.setCellStyle(cs); 
                   }
                   if(j == 6){
                       HSSFCell cell2=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格   
                       cell2.setCellValue(entity.getYyzzzch()==null?"":entity.getYyzzzch());   //设置单元格内容  
                       cell2.setCellStyle(cs); 
                       
                       HSSFCell cell5=hssfrow.createCell((short)5);   //创建一个单元格  HSSFCell类表示单元格   
                       cell5.setCellValue(entity.getXfyswh()==null?"":entity.getXfyswh());   //设置单元格内容 
                       cell5.setCellStyle(cs); 
                   }
                   if(j == 7){
                       HSSFCell cell2=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格   
                       cell2.setCellValue(entity.getGyzdj()==null?"":entity.getGyzdj());   //设置单元格内容 
                       cell2.setCellStyle(cs); 
                       
                       HSSFCell cell5=hssfrow.createCell((short)5);   //创建一个单元格  HSSFCell类表示单元格   
                       cell5.setCellValue(entity.getZdmj()==null?"":entity.getZdmj());   //设置单元格内容  
                       cell5.setCellStyle(cs); 
                   }
                   if(j == 8){
                       HSSFCell cell2=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格   
                       cell2.setCellValue(entity.getCscqr()==null?"":entity.getCscqr());   //设置单元格内容  
                       cell2.setCellStyle(cs); 
                       
                       HSSFCell cell5=hssfrow.createCell((short)5);   //创建一个单元格  HSSFCell类表示单元格   
                       cell5.setCellValue(entity.getZlhtbah()==null?"":entity.getZlhtbah());   //设置单元格内容 
                       cell5.setCellStyle(cs); 
                   }
               }
           } catch (Exception e) {
               e.printStackTrace();
           }
           }
       }
    	
        return hssfsheet;
    }

    public List<YwRqQyjyxkPzrqgyzdjb> getListByAcceptNo(String acceptNo){
        String hql = "from YwRqQyjyxkPzrqgyzdjb t where t.acceptNo='" + acceptNo + "'";
        List<YwRqQyjyxkPzrqgyzdjb> entityList = ywRqQyjyxkPzrqgyzdjbDao.find(hql);
        return entityList;
    }

    public void importFinalQyData(String acceptNo, Long qyid) {
            List<YwRqQyjyxkPzrqgyzdjb>  list=getDatas(acceptNo,qyid);
            if(list!=null && list.size()>0){
                for(YwRqQyjyxkPzrqgyzdjb data:list){
                    YwRqQyjyxkFinalPzrqgyzdjb entity = new DozerBeanMapper().map(data, YwRqQyjyxkFinalPzrqgyzdjb.class);
                    entity.setQyid(qyid);
                     entity.setId(null);
                   Long id=this.pzrqgyService.save(entity);
                   if(id!=null){
                       List<YwRqQyjyxkRypbqk> rydatas=this.getRyDatas(acceptNo, data.getId());
                       for(YwRqQyjyxkRypbqk rydata:rydatas){
                           YwRqQyjyxkFinalRypbqk finalentity = new DozerBeanMapper().map(rydata, YwRqQyjyxkFinalRypbqk.class);
                           finalentity.setId(null);
                           finalentity.setGyzid(id);
                           this.rypbqkService.save(finalentity);
                       }
                   }
                }
          }
    }
    
    
    private List<YwRqQyjyxkFinalPzrqgyzdjb> getFinalDatas(Long qyid){
        String sql=" from "+YwRqQyjyxkFinalPzrqgyzdjb.class.getName()+" where qyid='"+qyid+"'";
        return this.ywRqQyjyxkPzrqgyzdjbDao.find(sql);
        
    }
    private List<YwRqQyjyxkPzrqgyzdjb> getDatas(String acceptNo, Long qyid){
        String sql=" from "+YwRqQyjyxkPzrqgyzdjb.class.getName()+" where qyid='"+qyid+"' and acceptNo='"+acceptNo+"'";
        return this.ywRqQyjyxkPzrqgyzdjbDao.find(sql);
    }
    
    
    /**
     * 
     * @return
     */
    public List<YwRqQyjyxkRypbqk> getRyDatas(String acceptNo, Long qyid){
        String hql = "from YwRqQyjyxkRypbqk t where t.gyzid='" + qyid + "'";
        return this.ywRqQyjyxkRypbqkDao.find(hql);
    }

    public YwRqQyjyxkPzrqgyzdjb getZdInfo(String zdid) {
        YwRqQyjyxkPzrqgyzdjb entity=null;
       if(StringUtils.isNotBlank(zdid)){
           String hql = "from YwRqQyjyxkPzrqgyzdjb t where t.id='" + Long.valueOf(zdid) + "'";
           List<YwRqQyjyxkPzrqgyzdjb> list=this.ywRqQyjyxkRypbqkDao.find(hql);
           entity=list.get(0);
       }
        return entity;
    }

    public YwRqQyjyxkPzrqgyzdjb getEntityById(Long id) {
        
        return this.ywRqQyjyxkPzrqgyzdjbDao.get(id);
    }

    public void deleteEntity(YwRqQyjyxkPzrqgyzdjb ssylb) {
        ywRqQyjyxkPzrqgyzdjbDao.delete(ssylb);
        
    }

    public List<YwRqQyjyxkPzrqgyzdjb> findDataByJyxk(YwRqQyjyxk jyxk) {
       String sql=" from "+YwRqQyjyxkPzrqgyzdjb.class.getName()+" where acceptNo='"+jyxk.getAcceptNo()+"'";
       return ywRqQyjyxkPzrqgyzdjbDao.find(sql);
    }

}
